﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using ProjetoJornada_Negocios.Fachada;
using Basicas;
using System.Globalization;

namespace ProjetoJornada.Interno
{
    public partial class RelatorioGeral : System.Web.UI.Page
    {

        Fachada fachada = Fachada.Instance;

        protected void Page_Load(object sender, EventArgs e)
        {

            if (Session["Jornada"] != null)
            {
                this.LabelFaturamento.Text = fachada.ConsultarFaturamento(Convert.ToInt32(Session["Jornada"])).ToString();
                int quatidadeAlunos = fachada.ConsultarQuatidadeTotalDeAlunos(Convert.ToInt32(Session["Jornada"]));
                if (quatidadeAlunos == 1)
                {
                    this.LabelAlunos.Text = " aluno";
                }
                else if (quatidadeAlunos >= 1)
                {
                    this.LabelAlunos.Text = " alunos";
                }
                this.LabelQtidadeTotalDeAlunos.Text = fachada.ConsultarQuatidadeTotalDeAlunos(Convert.ToInt32(Session["Jornada"])).ToString();

                List<Turma> turmas = Fachada.Instance.ConsultarTodasAsTurmasPorJornada(Convert.ToInt32(Session["Jornada"]));

                this.rptTurmas.DataSource = turmas;
                this.rptTurmas.DataBind();
            }
            else
            {
                Response.Redirect("Jornada_Escolher.aspx?urlReturn=" + HttpContext.Current.Request.Url.AbsolutePath);
            }
            
        }

        protected void rptTurmas_ItemDataBound(object source, RepeaterItemEventArgs e)
        {
            if (e.Item.DataItem is Turma)
            {
                Turma turma = e.Item.DataItem as Turma;

                List<Matricula> matriculas = Fachada.Instance.BuscarMatriculaPorTurma(turma);

                double faturamento = 0;

                foreach (Matricula matricula in matriculas)
                {
                    faturamento += matricula.ValorPago;
                }

                Label lblNome = e.Item.FindControl("lblTurma") as Label;
                lblNome.Text = turma.Nome;

                Label lblFaturamento = e.Item.FindControl("lblFaturamentoPorTurma") as Label;
                lblFaturamento.Text = faturamento.ToString("C", new CultureInfo("pt-Br"));

                Label lblQuantidade = e.Item.FindControl("lblQuantidadeAlunoPorTurma") as Label;
                lblQuantidade.Text = matriculas.Count.ToString();

            }
        }
    }
}
